Adding a Custom Repository to Wabbajack

This is a guide for how you can make your own custom repository for making your Mod Lists show up on the Wabbajack in app gallery as unofficial Mod Lists.
This guide requires you to have already completed Getting CDN Access.

Create a Github Repository

To start with, log into your Github Account and create a new repository by clicking the + next to your avatar:

Step1

On the next page, give the repository a name, make sure it's set to public, and have Github create a README.md by default. Click Create repository

Step2

On the next page, click Add file

Step3

Set the name of the file to modlists.json. It can be named anything, but it's nice to have some uniformity.

Now fill out all the various fields for your modlist, you can use this text as a template:

[
  {
    "$type": "ModListMetadata, Wabbajack.Lib",
    "title": "My Modlist",
    "description": "Best thing since sliced bread",
    "author": "<any name you want to show up in the UI>",
    "maintainers": [
      "github/<your github name>"
    ],
    "game": "skyrimspecialedition",
    "tags": [
      "testing",
      "<any tags you want in the UI, each in its own string"
    ],
    "nsfw": false,
    "image_contains_title": false,
    "force_down": false,
    "links": {
      "$type": "Links, Wabbajack.Lib",
      "image": "<link to an image to show in the UI>",
      "readme": "<link to your readme for your modlist>",
      "download": "https://authored-files.wabbajack.org/Halgaris Helper.wabbajack_29d245c9-5f7f-4394-b600-a22e43427337",
      "machineURL": "machineURL",
      "discordURL": "<your discord link here>"
    },
    "download_metadata": {
      "$type": "DownloadMetadata, Wabbajack.Lib",
      "Hash": "e1+K7eJbDJw=",
      "Size": 0,
      "NumberOfArchives": 14,
      "SizeOfArchives": 135206078,
      "NumberOfInstalledFiles": 1311,
      "SizeOfInstalledFiles": 336453775
    },
    "version": "1.0"
  }
]

Notes on the metadata above:

  • Download Metadata - The contents of download_metadata can be found in the .wabbajack.meta.json file that's created by Wabbajack after you create compile your list.
  • MachineURL - no strings, punctuation or special characters allowed (except underscore _). This name must be unique to this repository
  • image_contains_title - set to true if your gallery image contains the modlist title
    • Note: Image URL MUST be in the following format: https://raw.githubusercontent.com/user/repository/main/nameofimagefile.png Obtainlable by clicking the 'Download' button next to the image.
  • force_down - something broken in your list? Set this to true to disable it in the UI
  • nsfw - you must set this to true if your modlist contains explicit sexual acts. If your list just contains nudity, then you don't have to set this to true.

Once you're satisfied with the contents of the metadata, validate your json and click Commit new file afterwards.

Step5

Adding your repository

Now you need to add your repository to the Wabbajack master repository list. View your modlists.json file in GitHub, click on the Raw button and copy the URL on the page that opens.

Step6

Now navigate to this file: https://github.com/wabbajack-tools/mod-lists/blob/master/repositories.json and select the Edit button.

Step8

Add a new line (don't forget the comma after the last line) and give your repository a unique name, and paste in the link you copied above.

Note: URL MUST be in the following format: https://raw.githubusercontent.com/user/repository/main/modlists.json. Obtainlable by opening the modlists.json file clicking the 'Raw' button. Copy the URL on the page that opens.

Step9

Click "Create a new Branch..." and "Propose Changes".

Step10

On the next page, click "Create Pull Request".

Step10

Probably best at this point to put a link to the Pull Request you just created in the Wabbajack Discord but otherwise we'll probably see it soon and take a look. One the PR is merged, your modlist should show up in the Wabbajack UI.

Common Errors

When uploading a new list to your repository, there are several errors that you may encounter.

You do not have access to this list

If you get this error, chances are the list's definition does not include your Github username in the list of maintainers. Remember to prefix your username with github/ so if your username is JohnDoe then the maintainer list should have an entry of "github/JohnDoe".

Namespaced list required

Lists names provided in the UI should be namespaced with the repo name. The format in of the machineURL entry in Wabbajack is <repo>/<list-name>. So if you have a repo named JohnsLists and your list that you are updating is JohnsSkyrimMakeover then the machineURL field in WJ's compiler UI should be set to JohnsLists/JohnsSkyrimMakeover.

The repo wj-featured is managed by the wabbajack team, you'll need to request membership to the WJ modlist team group, or just go and make your own repo.

404 errors when uploading lists

You probably forgot to set the permissions on your Github Personal access token, verify that's all setup correctly as per these instructions